import javax.xml.transform.dom.DOMResult;
import java.util.Random;

public class AnimalTest {

    public static void main(String[] args) {
//            Animal animal=new Animal(); //验证抽象类不能直接new对象

         Dog dog=new Dog();
         Rabbit rabbit=new Rabbit();
         //多态思想去创建对象
        //多态性： 一个对象的多种形态 父类对象可以代替子类对象
        // 父类对象可以分别指向各个子类，父类对象具体代表哪个子类，由new 出来的具体子类来决定
         Animal x=new Dog();
         x.shout();
         System.out.println(x);
         x=new Rabbit();
         x.shout();
        System.out.println(x);

        Pig pig=new Pig();
        x= new Pig();   //这种语法：多态语法 ：前后的2个类必须是父子类
        x.shout();

        Safety door=new DurglarDoor();
       // Safety door=new DurglarDoor();   //场景：后期类和类之间的解耦
        //door.burglar();
       // door.xxx();//使用多态实现父类对象代替子类对象时，切记只能调用访问父子都有的方法

    }
}
